home *** CD-ROM | disk | FTP | other *** search
/ Biodiversity of Illinois 2: Woodland Habitats / Biodiversity of Illinois 2 - Woodland Habitats.iso / mac / casts / PDFxtraBehaviors.cst / 00026_Script_PDF_Save < prev    next >
Text File  |  2006-07-11  |  3KB  |  88 lines

  1. -- Save
  2.  
  3. Property pEvent, pSprite, pFileName, pPathType, pAlertFlag
  4.  
  5. on doSave me
  6.   if(pFileName="") then
  7.     set err = PDF_Save(sprite pSprite, "")
  8.   else
  9.     case pPathType of:
  10.       "Absolute or URL": set fName = pFileName
  11.       "Relative to Movie": set fName = the moviePath & pFileName
  12.     end case
  13.     set err = PDF_Save(sprite pSprite, fName)
  14.   end if
  15.   if PDF_status(sprite pSprite) then alert "PDF Behavior Error"&RETURN&PDF_error(sprite pSprite)
  16. end doSave
  17.  
  18. on mouseUp me
  19.   if (pEvent = #mouseUp) then doSave(me)
  20. end mouseUp
  21.  
  22. on mouseDown me
  23.   if (pEvent = #mouseDown) then doSave(me)
  24. end mouseDown
  25.  
  26. -- standard behavior stuff --
  27. on getPropertyDescriptionList me
  28.   set defaultValues = GetDefaultValues (me)
  29.   
  30.   set pdfSpriteList = getProp (defaultValues, #spriteList)
  31.   set defSprite     = getProp (defaultValues, #defaultSprite)
  32.   if (defSprite=0) then 
  33.     if the ticks - pAlertFlag > 10 then
  34.       alert "Please create a sprite of type PDF first."
  35.     end if
  36.     set pAlertFlag = the ticks -- The ticks when the user clicked "OK"
  37.     
  38.     exit
  39.   end if
  40.   set p_list = [#pEvent: [ #comment: "Event", #format:#symbol, #range:[#mouseUp,#mouseDown], #default:#mouseUp], #pSprite: [ #comment: "PDF Sprite is in channel:", #format:#symbol, #range:pdfSpriteList, #default:defSprite], #pFileName: [ #comment: "Save As (File Name):", #format:#string, #default:"" ], #pPathType: [ #comment: "Path is:", #format: #symbol, #range: [ "Absolute or URL", "Relative to Movie"], #default: "Relative to Movie" ]]
  41.   return p_list
  42. end
  43.  
  44. on getBehaviorDescription
  45.   return "Save PDF document, optionally as a new file. If File Name is empty, the current PDF document is modified. Otherwise, it is saved under the new file name." &RETURN& "Free to use and abuse. (c)1999, Integration New Media, Inc."  &RETURN& "Thanks to James Newton for his suggestions"
  46. end
  47.  
  48. -- utils --
  49. on GetDefaultValues me
  50.   if the currentSpriteNum then
  51.     set spriteList = GetSpriteList (me #PDF)
  52.     if count (spriteList) then
  53.       set defaultSprite = getAt (spriteList, 1)
  54.     else
  55.       set defaultSprite = 0
  56.     end if
  57.     
  58.     return [#spriteList: spriteList, #defaultSprite: defaultSprite]
  59.     
  60.   else -- the currentSpriteNum = 0
  61.     -- Director is merely recompiling this script: return dummy values
  62.     return [#spriteList: [1], #defaultSprite: 1]
  63.   end if
  64. end 
  65.  
  66.  
  67. on GetSpriteList me, memberType
  68.   -- return list of sprites of type memberType in current frame
  69.   global version
  70.   if (char 1 of version = 6) then
  71.     set maxSprite = 120
  72.   else
  73.     set maxSprite = the lastChannel
  74.   end if
  75.   
  76.   set aList=[]
  77.   
  78.   repeat with i = 1 to maxSprite
  79.     set spriteMember = the member of sprite i
  80.     -- if (string(m) contains "member 0") then next repeat -- unnecessary
  81.     if (the type of spriteMember = memberType) then -- (JN) Line break
  82.       append (aList, i)
  83.     end if
  84.   end repeat
  85.   
  86.   return aList
  87. end GetSpriteList
  88.